﻿using System;
using System.ServiceModel;

using Builderator.Core.Components;

namespace Builderator.Core.Interfaces
{
    [ServiceContract(CallbackContract = typeof(IBuilderatorEngineCallback))]
    public interface IBuilderatorEngine
    {
        [OperationContract]
        void RunAction(Guid identifier);

        [OperationContract]
        void RunBuild(Guid identifier);

        [OperationContract]
        void DebugMessage(string message);

        [OperationContract]
        void Subscribe();

        [OperationContract]
        void Unsubscribe();
    }
}